package cn.cqie.attendance.manager.service;

import cn.cqie.attendance.common.util.Page;
import cn.cqie.attendance.common.util.PageBean;
import cn.cqie.attendance.manager.pojo.AdminGroupHomework;
import cn.cqie.attendance.manager.pojo.AdminGroupScore;
import cn.cqie.attendance.manager.pojo.AdminStudentHomework;
import cn.cqie.attendance.manager.pojo.AdminStudentScore;
import org.springframework.stereotype.Service;

/**
 * @author king james
 * @create 2021-07-07-{TIME}
 */
@Service
public interface AdminScoreService {

    /**
     * 组合查询所有学生综合得分
     * @param courseName 课程名
     * @param groupName 小组名
     * @param pageSize 每一页的数量
     * @param pageNum 当前页
     * @return
     */
    PageBean<AdminStudentScore> queryAllStudentScoreInfo(String courseName, String groupName, Integer pageSize, Integer pageNum);


    /**
     * 查询一个学生一个课程的得分详情
     * @param stuId 学id
     * @return
     */
    Page<AdminStudentScore> queryStudentScoreById(Integer stuId,Integer courseId);

    /**
     * 根据学id查询学生所有作业完成情况
     * @param stuId 学生id
     * @param courseId 课程id
     * @param pageSize 每一页数量
     * @param pageNum 当前页
     * @return
     */
    PageBean<AdminStudentHomework> queryAllStudentHomeworkInfoById(Integer stuId,Integer courseId,Integer pageSize, Integer pageNum);

    /**
     * 根据id查询学生一次作业的详情
     * @param homeworkId
     * @return
     */
    Page<AdminStudentHomework> queryStudentHomeworkById(Integer homeworkId);



    /**
     * 组合查询所有小组得分
     * @param courseName 课程名
     * @param groupName 小组名
     * @param pageSize 每一页数量
     * @param pageNum 当前页
     * @return
     */
    PageBean<AdminGroupScore> queryAllGroupScoreInfo(String courseName, String groupName, Integer pageSize, Integer pageNum);

    /**
     * 根据id查询某个小组的得分信息
     * @param groupId
     * @return
     */
    Page<AdminGroupScore> queryGroupScoreById(Integer groupId,Integer groupCourseId);

    /**
     * 根据小组id查询小组所有作业完成情况
     * @param groupId 小组id
     * @param groupCourseId 课程id
     * @param pageSize 每一页数量
     * @param pageNum 当前页
     * @return
     */
    PageBean<AdminGroupHomework> queryAllGroupHomeworkInfoById(Integer groupId,Integer groupCourseId,Integer pageSize, Integer pageNum);

    /**
     * 根据id查询小组一次作业详情
     * @param homeworkId
     * @return
     */
    Page<AdminGroupHomework> queryGroupHomeworkInfoById(Integer homeworkId);








}
